package com.xbongbong.sso.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * 授权步骤添加
 */
@Getter
@Setter
@ToString
public class OauthStepAddDTO extends BaseDTO {

    /**
     * 授权连接器id
     */
    @NotNull(message = "授权连接器id不能为空")
    private Long connectorId;

    /**
     * 阶段类型，1：Auth Code、2：Access Token、3：Identity Authentication、4：Logout Settings
     */
    @NotNull(message = "阶段类型不能为空")
    @Range(min = 1, max = 4, message = "阶段类型现在只能是1～4的值")
    private Integer stepType;

    /**
     * 请求地址
     */
//    @NotNull(message = "请求地址不能为空")
//    @NotEmpty(message = "请求地址不能为空")
    @Size(max = 100, message = "请求地址长度不可超过100")
    private String url;

    /**
     * 请求方式，1：post、2：get
     */
    @NotNull(message = "请求方式不能为空")
    @Range(min = 1, max = 2, message = "请求方式现在只能是1～2的值")
    private Integer method;

    /**
     * 启用状态, 1:启用、0:关闭
     * 默认启用
     */
    @Range(min = 0, max = 1, message = "启用状态只能是0或1")
    private Integer enable = 1;

    /**
     * body传参类型，method=2时此参数有效，  1：application/x-www-form-urlencoded、2：application/json
     */
    @Range(min = 1, max = 2, message = "contentType现在只能是1～2的值")
    private Integer contentType;
}
